{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "75ce3c74-335d-43c0-a2d2-5bc19b6474d4",
   "metadata": {},
   "source": [
    "# GPT—SOVITS\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ebafc76b-917f-496d-bf1d-f291d05dfb7c",
   "metadata": {},
   "source": [
    "## 1. 模型项目介绍和环境准备\n",
    "\n",
    "### 1.1 项目说明\n",
    "本项目基于开源项目 https://github.com/RVC-Boss/GPT-SoVITS 改动而成，该项目可以做到强大的少样本语音转换与语音合成，并提供了webUI支持。\n",
    "\n",
    "本项使用jupyter notebook来完成整个工作流程，以供在无法使用WebUI的环境下执行工作流，因此在原始项目中添加了cli训练-推理脚本，并且添加该notebook文档，通过该文档能够实现整个数据处理、微调训练、推理语音合成的工作流。\n",
    "\n",
    "### 1.2 环境准备\n",
    "该项目所需要的所有第三方程序如(ffmpeg)和依赖已经在容器内包含，容器名称：gpt-sovits:jupyterlab-torch2.1-dtk23.04-py38，用户无需再进行依赖安装。\n",
    "\n",
    "如不是使用该容器，则需要自行搭建相关环境，并且执行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5638bf47-80b6-45db-a115-63bdbbba5944",
   "metadata": {},
   "outputs": [],
   "source": [
    "### 非 gpt-sovits:jupyterlab-torch2.1-dtk23.04-py38 容器环境需要执行依赖安装\n",
    "pip install -r requirements.txt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bc7316a1-8cd3-4f3f-b002-f6c6739d014f",
   "metadata": {},
   "source": [
    "## 2. 数据集处理"
   ]
  },
  {
   "attachments": {
    "64b792c2-fd17-4529-b40a-d2b4fa70d111.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "ac2fb591-30d7-4c15-9cc8-dc59975147af",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true
   },
   "source": [
    "### 2.1 人声音频提取和增强\n",
    "\n",
    "使用 UVR5 进行人声/伴奏分离和混响移除，该部分建议使用 https://github.com/Anjok07/ultimatevocalremovergui 项目在本地进行\n",
    "![image.png](attachment:64b792c2-fd17-4529-b40a-d2b4fa70d111.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "685f64a3-0cdb-421b-8232-0eeb2339dd87",
   "metadata": {},
   "source": [
    "### 2.2 人声切分\n",
    "\n",
    "使用 `tools/slice_audio.py` 切分输入音频，其输入参数定义为\n",
    "\n",
    "    --input_path # 输入音频文件或目录\n",
    "    --output_root # 输出音频目录\n",
    "    --threshold  # 音量小于这个值视作静音的备选切割点\n",
    "    --min_length  # 每段最小多长，如果第一段太短一直和后面段连起来直到超过这个值\n",
    "    --min_interval  # 最短切割间隔\n",
    "    --hop_size  # 怎么算音量曲线，越小精度越大计算量越高（不是精度越大效果越好）\n",
    "    --max_sil_kept  # 切完后静音最多留多长\n",
    "    --alpha\n",
    "    --i_part  \n",
    "    --all_part \n",
    "需要确保输入目录下有音频文件，并且输出路径存在"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "02ace982-c121-43af-b47c-f52306dbbcdb",
   "metadata": {},
   "outputs": [],
   "source": [
    "!python tools/slice_audio.py   data/input_vocals/ data/sliced/ -34 4000 300 10 500 0.9 0.25 0 1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b3660a9c-7cb2-4d44-84f9-39af067139b4",
   "metadata": {},
   "source": [
    "### 2.3 使用asr进行文本标注\n",
    "\n",
    "使用 `tools/asr/funasr_asr.py` 进行数据标注"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5deb81bd-7cdf-4b7c-bcb8-69c3a2830bab",
   "metadata": {},
   "source": [
    "#### 2.3.1 仅中文asr\n",
    "\n",
    "下载 Damo ASR 、Damo VAD 和 Damo Punc 三个模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "528cc744-9735-4964-b3b8-63427384c959",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cloning into 'speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch'...\n",
      "remote: Enumerating objects: 465, done.\u001b[K\n",
      "remote: Counting objects: 100% (70/70), done.\u001b[K\n",
      "remote: Compressing objects: 100% (38/38), done.\u001b[K\n",
      "remote: Total 465 (delta 40), reused 60 (delta 32), pack-reused 395\u001b[K\n",
      "Receiving objects: 100% (465/465), 1.12 GiB | 57.85 MiB/s, done.\n",
      "Resolving deltas: 100% (268/268), done.\n",
      "Downloading LFS objects: 100% (1/1), 880 MB | 74 MB/s                           \r"
     ]
    }
   ],
   "source": [
    "# Damo ASR Model\n",
    "!git-lfs clone https://www.modelscope.cn/iic/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch.git"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "1d098485-574a-4a0c-98ac-6ca09659f18a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cloning into 'speech_fsmn_vad_zh-cn-16k-common-pytorch'...\n",
      "remote: Enumerating objects: 183, done.\u001b[K\n",
      "remote: Counting objects: 100% (38/38), done.\u001b[K\n",
      "remote: Compressing objects: 100% (28/28), done.\u001b[K\n",
      "remote: Total 183 (delta 18), reused 23 (delta 10), pack-reused 145\u001b[K\n",
      "Receiving objects: 100% (183/183), 4.66 MiB | 0 bytes/s, done.\n",
      "Resolving deltas: 100% (91/91), done.\n",
      "Downloading LFS objects: 100% (1/1), 1.7 MB | 0 B/s                             \r"
     ]
    }
   ],
   "source": [
    "# Damo VAD Model\n",
    "!git lfs clone  https://www.modelscope.cn/iic/speech_fsmn_vad_zh-cn-16k-common-pytorch.git"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "b33d27c8-84a3-4057-ae48-f67a0856e34d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cloning into 'punc_ct-transformer_zh-cn-common-vocab272727-pytorch'...\n",
      "remote: Enumerating objects: 170, done.\u001b[K\n",
      "remote: Counting objects: 100% (47/47), done.\u001b[K\n",
      "remote: Compressing objects: 100% (35/35), done.\u001b[K\n",
      "remote: Total 170 (delta 23), reused 27 (delta 12), pack-reused 123\u001b[K\n",
      "Receiving objects: 100% (170/170), 257.56 MiB | 57.98 MiB/s, done.\n",
      "Resolving deltas: 100% (86/86), done.\n",
      "Downloading model.pt (292 MB)\n"
     ]
    }
   ],
   "source": [
    "# Damo Punc Model \n",
    "!git clone https://www.modelscope.cn/iic/punc_ct-transformer_zh-cn-common-vocab272727-pytorch.git"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6533efc9-ab48-4636-a75e-ddb7e933a46b",
   "metadata": {},
   "source": [
    "然后将模型文件移动到 `tools/asr/model`目录下"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "689cef5e-0abd-4aae-ad99-a5e27084d000",
   "metadata": {},
   "outputs": [],
   "source": [
    "!mv punc_ct-transformer_zh-cn-common-vocab272727-pytorch tools/asr/models/\n",
    "!mv speech_fsmn_vad_zh-cn-16k-common-pytorch tools/asr/models/\n",
    "!mv speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch tools/asr/models/"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0e0534f8-190e-4f11-a18a-37b06b33ab40",
   "metadata": {},
   "source": [
    "**执行中文asr标注**\n",
    "\n",
    "使用 `tools/asr/funasr_asr.py` 进行数据标注，其参数为 -i <input_dir> -o <output_dir>\n",
    "\n",
    "input_dir 为之前切分好的音频目录\n",
    "output_dir 为asr标注文件所在目录"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8d15c885-12d7-4b39-aed6-1774accba468",
   "metadata": {},
   "outputs": [],
   "source": [
    "!python tools/asr/funasr_asr.py -i data/leijun -o data/leijun_asr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "bea8cb03-4e44-4bf6-8867-b4f9097526d1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "data/leijun/leijun_Vocals.wav_0000041600_0000226240.wav|leijun|ZH|一九八七年，我呢考上了武汉大学的计算机系。\n",
      "data/leijun/leijun_Vocals.wav_0000236800_0000376640.wav|leijun|ZH|在武汉大学的图书馆里看了一本书。\n",
      "data/leijun/leijun_Vocals.wav_0000387200_0000522880.wav|leijun|ZH|硅谷之火建立了我一生的梦想。\n",
      "data/leijun/leijun_Vocals.wav_0000543680_0000664640.wav|leijun|ZH|看完书以后，热血沸腾。\n",
      "data/leijun/leijun_Vocals.wav_0000677440_0000804160.wav|leijun|ZH|激动的睡不着觉，我还记得。\n",
      "data/leijun/leijun_Vocals.wav_0000809280_0000990720.wav|leijun|ZH|那天晚上星光很亮，我就在武大的操场上。\n",
      "data/leijun/leijun_Vocals.wav_0000992960_0001130240.wav|leijun|ZH|就是屏幕上这个操场走了一圈又一圈。\n",
      "data/leijun/leijun_Vocals.wav_0001130240_0001283520.wav|leijun|ZH|走了整整一个晚上，我心里有团火。\n",
      "data/leijun/leijun_Vocals.wav_0001295680_0001449920.wav|leijun|ZH|我也想办一个伟大的公司，梦想之火。\n",
      "data/leijun/leijun_Vocals.wav_0001449920_0001555520.wav|leijun|ZH|在我心里彻底点燃了。\n",
      "data/leijun/leijun_Vocals.wav_0001596800_0001804480.wav|leijun|ZH|但是一个大一的新生，一个从县城里出来的年轻人。\n",
      "data/leijun/leijun_Vocals.wav_0001819840_0002005120.wav|leijun|ZH|什么也不会，什么也没有，就想创办一家伟大的公司。\n",
      "data/leijun/leijun_Vocals.wav_0002005120_0002172800.wav|leijun|ZH|这不就是天方夜谭吗？这么离谱的一个梦想。\n",
      "data/leijun/leijun_Vocals.wav_0002172800_0002322880.wav|leijun|ZH|该如何实现呢？那天晚上\n",
      "data/leijun/leijun_Vocals.wav_0002322880_0002489920.wav|leijun|ZH|我想了一整，晚上越想越糊涂，完全理不清头绪。\n",
      "data/leijun/leijun_Vocals.wav_0002500800_0002665920.wav|leijun|ZH|后来我在想，哎，干脆别想了，把书练好。\n",
      "data/leijun/leijun_Vocals.wav_0002667520_0002837120.wav|leijun|ZH|是正式，所以呢我就下定决心，认认真真读书。\n",
      "data/leijun/leijun_Vocals.wav_0002841280_0003001920.wav|leijun|ZH|那么我怎么能够把书读的不同凡响呢？\n",
      "data/leijun/leijun_Vocals.wav_0003001920_0003136640.wav|leijun|ZH|我想了一个在当时特别特别夸张的目标就是\n",
      "data/leijun/leijun_Vocals.wav_0003136640_0003265280.wav|leijun|ZH|两年修完大学四年所有学分。\n",
      "data/leijun/leijun_Vocals.wav_0003295680_0003420800.wav|leijun|ZH|这个目标在那个时候啊，这是石破天惊的。\n",
      "data/leijun/leijun_Vocals.wav_0003426560_0003582080.wav|leijun|ZH|因为学分制刚刚开始实现很多人。\n",
      "data/leijun/leijun_Vocals.wav_0003582080_0003784000.wav|leijun|ZH|可能都没有这么想过，这意味着你要上两倍的课写两倍的作业，过两倍的考试。\n",
      "data/leijun/leijun_Vocals.wav_0003784000_0003912640.wav|leijun|ZH|这意味着要用地域模式读大学。\n",
      "data/leijun/leijun_Vocals.wav_0003925120_0004091840.wav|leijun|ZH|我呢接受了这个挑战，可是当我真正思考这个问题的时候啊。\n",
      "data/leijun/leijun_Vocals.wav_0004099520_0004285760.wav|leijun|ZH|我面临的很多的难题，那么我是怎么做到的呢？\n",
      "data/leijun/leijun_Vocals.wav_0004285760_0004441600.wav|leijun|ZH|今天我给大家讲讲其中的三个难点。\n",
      "data/leijun/leijun_Vocals.wav_0004449600_0004668160.wav|leijun|ZH|如果你正好正在读大学，或者你的孩子在念大学，也许有一点点用啊。\n",
      "data/leijun/leijun_Vocals.wav_0004668160_0004789440.wav|leijun|ZH|那我遇到的第一个问题就是如何选课。\n",
      "data/leijun/leijun_Vocals.wav_0004807040_0004946880.wav|leijun|ZH|因为刚上大学啊，对学校你要读什么，完全不了解。\n",
      "data/leijun/leijun_Vocals.wav_0004958080_0005108160.wav|leijun|ZH|我自己琢磨了很久，一头的雾水，当时也是逼急了。\n",
      "data/leijun/leijun_Vocals.wav_0005114240_0005307840.wav|leijun|ZH|实在没办法，我就决定了跑到大三大四的宿舍。\n",
      "data/leijun/leijun_Vocals.wav_0005314560_0005422080.wav|leijun|ZH|挨个敲门去找老乡。\n",
      "data/leijun/leijun_Vocals.wav_0005433920_0005627200.wav|leijun|ZH|我觉得在大学里面找老乡这招特别好，果然就找到了几个学长。\n",
      "data/leijun/leijun_Vocals.wav_0005627200_0005782720.wav|leijun|ZH|学长呢特别特别的热情，跟我滔滔不绝的讲了几个小时。\n",
      "data/leijun/leijun_Vocals.wav_0005782720_0005920320.wav|leijun|ZH|把整个大学的课程体系都跟我讲了一遍，走的时候。\n",
      "data/leijun/leijun_Vocals.wav_0005920320_0006069120.wav|leijun|ZH|还把他们用过的教材教辅升职记的课堂笔记。\n",
      "data/leijun/leijun_Vocals.wav_0006069120_0006247040.wav|leijun|ZH|都打包送给我了，哎呀，那一刹那，我仿佛看了天眼。\n",
      "data/leijun/leijun_Vocals.wav_0006247040_0006403520.wav|leijun|ZH|大学怎么读一下子就就明白了，通过这件事情呢？\n",
      "data/leijun/leijun_Vocals.wav_0006403520_0006584960.wav|leijun|ZH|我收获了一个对我来说非常重要的经验。我想对你们应该也是如此。\n",
      "data/leijun/leijun_Vocals.wav_0006589120_0006723520.wav|leijun|ZH|就是很多人遇到问题的时候，总是喜欢一个人琢磨。\n",
      "data/leijun/leijun_Vocals.wav_0006723520_0006900160.wav|leijun|ZH|而实际上你遇到的问题，绝大部分别人都遇到过。\n",
      "data/leijun/leijun_Vocals.wav_0006900160_0007060800.wav|leijun|ZH|绝大部分别人都解决了，甚至有标准答案。\n",
      "data/leijun/leijun_Vocals.wav_0007068800_0007249920.wav|leijun|ZH|你只需要去问一下就可以了。接着我遇到的第二个难点是什么呢？\n",
      "data/leijun/leijun_Vocals.wav_0007269440_0007401280.wav|leijun|ZH|是如何搞定自学合上的，是计算机系？\n",
      "data/leijun/leijun_Vocals.wav_0007403200_0007557440.wav|leijun|ZH|我们武汉大学的计算机就是从数学里数学系里分出来的。\n",
      "data/leijun/leijun_Vocals.wav_0007563200_0007689280.wav|leijun|ZH|相当于半个数学系那个课程挺难的。\n",
      "data/leijun/leijun_Vocals.wav_0007689280_0007850880.wav|leijun|ZH|但是我当时硬着头皮，咬着牙往下读。\n",
      "data/leijun/leijun_Vocals.wav_0007865600_0008016640.wav|leijun|ZH|读着读着呢，突然开窍了，开了一个什么样的窍呢？\n",
      "data/leijun/leijun_Vocals.wav_0008022400_0008152960.wav|leijun|ZH|就是哎，反正看不懂，跳过去，直接看下一张。\n",
      "data/leijun/leijun_Vocals.wav_0008152960_0008464320.wav|leijun|ZH|坚持往下看，接着呢放映两周拿出来再看第二遍，放映两周，再看第三遍，反复多读几遍，读着读着都读懂了。\n",
      "data/leijun/leijun_Vocals.wav_0008464320_0008709440.wav|leijun|ZH|这个原理挺简单的，就是我们小时候啊上了那么多年的书，一直觉得知识是连续的。\n",
      "data/leijun/leijun_Vocals.wav_0008722240_0008871680.wav|leijun|ZH|其实我的体会啊知识不全是线性的。\n",
      "data/leijun/leijun_Vocals.wav_0008882560_0009001280.wav|leijun|ZH|很多知识点之后没有决对的，先后顺序。\n",
      "data/leijun/leijun_Vocals.wav_0009005440_0009147520.wav|leijun|ZH|所以前面看不懂，跳过去没关系的。\n",
      "data/leijun/leijun_Vocals.wav_0009147520_0009290240.wav|leijun|ZH|等你把后面看懂了，反过来可能帮助人给看懂前面的。\n",
      "data/leijun/leijun_Vocals.wav_0009290240_0009481920.wav|leijun|ZH|用学方呢叫跳度，在这里呢多说几句啊，今天的社会呢损息万变。\n",
      "data/leijun/leijun_Vocals.wav_0009481920_0009600320.wav|leijun|ZH|我们光靠学校里学的知识呢，肯定是"
     ]
    }
   ],
   "source": [
    "!cat data/leijun_asr/leijun.list"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c4754dbf-7cad-4a0e-88e6-19ad05a8e2fa",
   "metadata": {},
   "source": [
    "## 2.4 数据集预处理\n",
    "\n",
    "使用处理脚本 `dataset.py` 对数据集进行预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "83cbb6f6-734d-4cf1-95bb-e53e3feff298",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\"/opt/conda/bin/python\" GPT_SoVITS/prepare_datasets/1-get-text.py\n",
      "进度：1a-ing {'__type__': 'update', 'visible': False} {'__type__': 'update', 'visible': True}\n",
      "/usr/local/lib/python3.8/site-packages/torch/_utils.py:831: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n",
      "  return self.fget.__get__(instance, owner)()\n",
      "Building prefix dict from the default dictionary ...\n",
      "Dumping model to file cache /tmp/jieba.cache\n",
      "Loading model cost 1.610 seconds.\n",
      "Prefix dict has been built succesfully.\n",
      "进度：1a-done {'__type__': 'update', 'visible': False} {'__type__': 'update', 'visible': True}\n",
      "\"/opt/conda/bin/python\" GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.py\n",
      "进度：1a-done, 1b-ing {'__type__': 'update', 'visible': False} {'__type__': 'update', 'visible': True}\n",
      "/usr/local/lib/python3.8/site-packages/torch/_utils.py:831: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n",
      "  return self.fget.__get__(instance, owner)()\n",
      "Some weights of the model checkpoint at GPT_SoVITS/pretrained_models/chinese-hubert-base were not used when initializing HubertModel: ['encoder.pos_conv_embed.conv.weight_g', 'encoder.pos_conv_embed.conv.weight_v']\n",
      "- This IS expected if you are initializing HubertModel from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n",
      "- This IS NOT expected if you are initializing HubertModel from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n",
      "Some weights of HubertModel were not initialized from the model checkpoint at GPT_SoVITS/pretrained_models/chinese-hubert-base and are newly initialized: ['encoder.pos_conv_embed.conv.parametrizations.weight.original0', 'encoder.pos_conv_embed.conv.parametrizations.weight.original1']\n",
      "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "ld.lld: \u001b[0;35mwarning: \u001b[0mcannot find entry symbol mit-obj; not setting start address\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "进度：1a1b-done {'__type__': 'update', 'visible': False} {'__type__': 'update', 'visible': True}\n",
      "\"/opt/conda/bin/python\" GPT_SoVITS/prepare_datasets/3-get-semantic.py\n",
      "进度：1a1b-done, 1cing {'__type__': 'update', 'visible': False} {'__type__': 'update', 'visible': True}\n",
      "/usr/local/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:30: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.\n",
      "  warnings.warn(\"torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.\")\n",
      "<All keys matched successfully>\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "ld.lld: \u001b[0;35mwarning: \u001b[0mcannot find entry symbol mit-obj; not setting start address\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "进度：all-done {'__type__': 'update', 'visible': False} {'__type__': 'update', 'visible': True}\n",
      "一键三连进程结束 {'__type__': 'update', 'visible': True} {'__type__': 'update', 'visible': False}\n"
     ]
    }
   ],
   "source": [
    "!python dataset.py"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "61c39b93-cd55-4838-a75a-931ec9f50d45",
   "metadata": {},
   "source": [
    "## 3. 微调训练"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ec654537-5f42-4ef0-a917-5ce13b33ddaf",
   "metadata": {},
   "source": [
    "### 3.1 预训练模型获取\n",
    "\n",
    "从 [GPT-SoVITS Models](https://www.icloud.com.cn/iclouddrive/056y_Xog_HXpALuVUjscIwTtg#GPT-SoVITS_Models) 下载预训练模型，并将它们放置在 `GPT_SoVITS\\pretrained_models` 中。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "721d29ed-38e2-42a9-b83e-1826eb243339",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--2024-04-16 18:55:15--  https://cvws.icloud-content.com.cn/B/AaE_vVmIx3XW4wn54s2phtftGwbMAZbr5IO5sVAB_LAbwMor9aEsllVA/GPT-SoVITS%20Models.zip?o=Aku3mU5tnJ3sR0xDg_NwD3j1UzluqZPUHCl-w87Jf_On&v=1&x=3&a=CAogTs_Z7lB2kht-fIwFG1SpKoT1eYi-WVl2HXH-AjlfH1ISbxCMxPuz7jEYjKHXte4xIgEAUgTtGwbMWgQsllVAaifeyPH3h4067fjPRlB-nnymEbl5CkooX-NsMbKZtOZ6HXM1v_eZG4lyJ9Cnu1jr9d5QVIMs1BlnMu3KHdZBR9sKQEIS4dWbeA2Y4ZRU3CU2Ew&e=1713267658&fl=&r=0f219a8b-6b5a-45e1-af67-921aca4634ad-1&k=N9JhTTm-gpIO_al6zJ5IIw&ckc=com.apple.clouddocs&ckz=com.apple.CloudDocs&p=211&s=TuHGHxVF2yJ9Ej-6TBM8Kn8EUfk&+=d6bd8265-ec76-4eab-886b-e1e41a127f2b\n",
      "Connecting to 10.15.100.43:3120... connected.\n",
      "Proxy request sent, awaiting response... 200 OK\n",
      "Length: 1100181255 (1.0G) [application/zip]\n",
      "Saving to: ‘GPT-SoVITS_Models.zip’\n",
      "\n",
      "100%[====================================>] 1,100,181,255 28.4MB/s   in 45s    \n",
      "\n",
      "2024-04-16 18:56:01 (23.4 MB/s) - ‘GPT-SoVITS_Models.zip’ saved [1100181255/1100181255]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!wget 'https://cvws.icloud-content.com.cn/B/AaE_vVmIx3XW4wn54s2phtftGwbMAZbr5IO5sVAB_LAbwMor9aEsllVA/GPT-SoVITS%20Models.zip?o=Aku3mU5tnJ3sR0xDg_NwD3j1UzluqZPUHCl-w87Jf_On&v=1&x=3&a=CAogTs_Z7lB2kht-fIwFG1SpKoT1eYi-WVl2HXH-AjlfH1ISbxCMxPuz7jEYjKHXte4xIgEAUgTtGwbMWgQsllVAaifeyPH3h4067fjPRlB-nnymEbl5CkooX-NsMbKZtOZ6HXM1v_eZG4lyJ9Cnu1jr9d5QVIMs1BlnMu3KHdZBR9sKQEIS4dWbeA2Y4ZRU3CU2Ew&e=1713267658&fl=&r=0f219a8b-6b5a-45e1-af67-921aca4634ad-1&k=N9JhTTm-gpIO_al6zJ5IIw&ckc=com.apple.clouddocs&ckz=com.apple.CloudDocs&p=211&s=TuHGHxVF2yJ9Ej-6TBM8Kn8EUfk&+=d6bd8265-ec76-4eab-886b-e1e41a127f2b' -O GPT-SoVITS_Models.zip "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "28a9340b-078a-4b0b-9683-3682782aaa26",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Archive:  GPT-SoVITS_Models.zip\n",
      "   creating: ./GPT_SoVITS/pretrained_models/\n",
      " extracting: ./GPT_SoVITS/pretrained_models/.gitignore  \n",
      "   creating: ./GPT_SoVITS/pretrained_models/chinese-hubert-base/\n",
      "  inflating: ./GPT_SoVITS/pretrained_models/chinese-hubert-base/config.json  \n",
      "  inflating: ./GPT_SoVITS/pretrained_models/chinese-hubert-base/preprocessor_config.json  \n",
      "  inflating: ./GPT_SoVITS/pretrained_models/chinese-hubert-base/pytorch_model.bin  \n",
      "   creating: ./GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large/\n",
      "  inflating: ./GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large/config.json  \n",
      "  inflating: ./GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large/pytorch_model.bin  \n",
      "  inflating: ./GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large/tokenizer.json  \n",
      "  inflating: ./GPT_SoVITS/pretrained_models/s1bert25hz-2kh-longer-epoch=68e-step=50232.ckpt  \n",
      "  inflating: ./GPT_SoVITS/pretrained_models/s2D488k.pth  \n",
      "  inflating: ./GPT_SoVITS/pretrained_models/s2G488k.pth  \n"
     ]
    }
   ],
   "source": [
    "!unzip GPT-SoVITS_Models.zip  -d ./GPT_SoVITS/"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "25917746-6a7b-4792-9841-caa4d2ddc1e9",
   "metadata": {},
   "source": [
    "## 3.2 SoVits模型微调\n",
    "提供了sovits微调脚本 `train_sovits.py`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "d2842eed-d729-4e32-bf5a-efe39e511400",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SoVITS训练开始：\"python\" GPT_SoVITS/s2_train.py --config \"experiments/tmp_s2.json\" {'__type__': 'update', 'visible': False} {'__type__': 'update', 'visible': True}\n",
      "\"python\" GPT_SoVITS/s2_train.py --config \"experiments/tmp_s2.json\"\n",
      "INFO:train-01:{'train': {'log_interval': 100, 'eval_interval': 500, 'seed': 1234, 'epochs': 10, 'learning_rate': 0.0001, 'betas': [0.8, 0.99], 'eps': 1e-09, 'batch_size': 6, 'fp16_run': False, 'lr_decay': 0.999875, 'segment_size': 20480, 'init_lr_ratio': 1, 'warmup_epochs': 0, 'c_mel': 45, 'c_kl': 1.0, 'text_low_lr_rate': 4, 'pretrained_s2G': 'GPT_SoVITS/pretrained_models/s2G488k.pth', 'pretrained_s2D': 'GPT_SoVITS/pretrained_models/s2D488k.pth', 'if_save_latest': True, 'if_save_every_weights': True, 'save_every_epoch': 2, 'gpu_numbers': '0'}, 'data': {'max_wav_value': 32768.0, 'sampling_rate': 32000, 'filter_length': 2048, 'hop_length': 640, 'win_length': 2048, 'n_mel_channels': 128, 'mel_fmin': 0.0, 'mel_fmax': None, 'add_blank': True, 'n_speakers': 300, 'cleaned_text': True, 'exp_dir': 'experiments/train-01'}, 'model': {'inter_channels': 192, 'hidden_channels': 192, 'filter_channels': 768, 'n_heads': 2, 'n_layers': 6, 'kernel_size': 3, 'p_dropout': 0.1, 'resblock': '1', 'resblock_kernel_sizes': [3, 7, 11], 'resblock_dilation_sizes': [[1, 3, 5], [1, 3, 5], [1, 3, 5]], 'upsample_rates': [10, 8, 2, 2, 2], 'upsample_initial_channel': 512, 'upsample_kernel_sizes': [16, 16, 8, 2, 2], 'n_layers_q': 3, 'use_spectral_norm': False, 'gin_channels': 512, 'semantic_frame_rate': '25hz', 'freeze_quantizer': True}, 's2_ckpt_dir': 'experiments/train-01', 'content_module': 'cnhubert', 'save_weight_dir': 'SoVITS_weights', 'name': 'train-01', 'pretrain': None, 'resume_step': None}\n",
      "WARNING: Logging before InitGoogleLogging() is written to STDERR\n",
      "I0416 19:18:04.772087  6966 ProcessGroupNCCL.cpp:686] [Rank 0] ProcessGroupNCCL initialization options:NCCL_ASYNC_ERROR_HANDLING: 1, NCCL_DESYNC_DEBUG: 0, NCCL_ENABLE_TIMING: 0, NCCL_BLOCKING_WAIT: 0, TIMEOUT(ms): 1800000, USE_HIGH_PRIORITY_STREAM: 0, TORCH_DISTRIBUTED_DEBUG: OFF, NCCL_DEBUG: OFF, ID=215506512\n",
      "phoneme_data_len: 58\n",
      "wav_data_len: 116\n",
      "100%|████████████████████████████████████████| 116/116 [00:00<00:00, 850.67it/s]\n",
      "skipped_phone:  0 , skipped_dur:  0\n",
      "total left:  116\n",
      "/usr/local/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:30: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.\n",
      "  warnings.warn(\"torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.\")\n",
      "ssl_proj.weight not requires_grad\n",
      "ssl_proj.bias not requires_grad\n",
      "I0416 19:18:07.585777  6966 ProcessGroupNCCL.cpp:1340] NCCL_DEBUG: N/A\n",
      "INFO:train-01:loaded pretrained GPT_SoVITS/pretrained_models/s2G488k.pth\n",
      "<All keys matched successfully>\n",
      "INFO:train-01:loaded pretrained GPT_SoVITS/pretrained_models/s2D488k.pth\n",
      "<All keys matched successfully>\n",
      "/usr/local/lib/python3.8/site-packages/torch/optim/lr_scheduler.py:136: UserWarning: Detected call of `lr_scheduler.step()` before `optimizer.step()`. In PyTorch 1.1.0 and later, you should call them in the opposite order: `optimizer.step()` before `lr_scheduler.step()`.  Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate\n",
      "  warnings.warn(\"Detected call of `lr_scheduler.step()` before `optimizer.step()`. \"\n",
      "0it [00:00, ?it/s]/usr/local/lib/python3.8/site-packages/torch/functional.py:650: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error.\n",
      "Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/SpectralOps.cpp:868.)\n",
      "  return _VF.stft(input, n_fft, hop_length, win_length, window,  # type: ignore[attr-defined]\n",
      "/usr/local/lib/python3.8/site-packages/torch/functional.py:650: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error.\n",
      "Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/SpectralOps.cpp:868.)\n",
      "  return _VF.stft(input, n_fft, hop_length, win_length, window,  # type: ignore[attr-defined]\n",
      "/usr/local/lib/python3.8/site-packages/torch/functional.py:650: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error.\n",
      "Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/SpectralOps.cpp:868.)\n",
      "  return _VF.stft(input, n_fft, hop_length, win_length, window,  # type: ignore[attr-defined]\n",
      "/usr/local/lib/python3.8/site-packages/torch/functional.py:650: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error.\n",
      "Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/SpectralOps.cpp:868.)\n",
      "  return _VF.stft(input, n_fft, hop_length, win_length, window,  # type: ignore[attr-defined]\n",
      "/usr/local/lib/python3.8/site-packages/torch/functional.py:650: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error.\n",
      "Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/SpectralOps.cpp:868.)\n",
      "  return _VF.stft(input, n_fft, hop_length, win_length, window,  # type: ignore[attr-defined]\n",
      "/usr/local/lib/python3.8/site-packages/torch/functional.py:650: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error.\n",
      "Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/SpectralOps.cpp:868.)\n",
      "  return _VF.stft(input, n_fft, hop_length, win_length, window,  # type: ignore[attr-defined]\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "ld.lld: \u001b[0;35mwarning: \u001b[0mcannot find entry symbol mit-obj; not setting start address\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "ld.lld: \u001b[0;35mwarning: \u001b[0mcannot find entry symbol mit-obj; not setting start address\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "W0416 19:18:29.904378  6966 reducer.cpp:1353] Warning: find_unused_parameters=True was specified in DDP constructor, but did not find any unused parameters in the forward pass. This flag results in an extra traversal of the autograd graph every iteration,  which can adversely affect performance. If your model indeed never has any unused parameters in the forward pass, consider turning this flag off. Note that this warning may be a false positive if your model has flow control causing later iterations to have unused parameters. (function operator())\n",
      "/usr/local/lib/python3.8/site-packages/torch/functional.py:650: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error.\n",
      "Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/SpectralOps.cpp:868.)\n",
      "  return _VF.stft(input, n_fft, hop_length, win_length, window,  # type: ignore[attr-defined]\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "ld.lld: \u001b[0;35mwarning: \u001b[0mcannot find entry symbol mit-obj; not setting start address\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "/usr/local/lib/python3.8/site-packages/torch/autograd/__init__.py:251: UserWarning: Grad strides do not match bucket view strides. This may indicate grad was not created according to the gradient layout contract, or that the param's strides changed since DDP was constructed.  This is not an error, but may impair performance.\n",
      "grad.sizes() = [1, 9, 96], strides() = [93600, 96, 1]\n",
      "bucket_view.sizes() = [1, 9, 96], strides() = [864, 96, 1] (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/torch/csrc/distributed/c10d/reducer.cpp:334.)\n",
      "  Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass\n",
      "INFO:train-01:Train Epoch: 1 [0%]\n",
      "INFO:train-01:[2.863842487335205, 3.9270896911621094, 13.315670013427734, 24.152294158935547, 0.6468325257301331, 3.1277241706848145, 0, 9.99875e-05]\n",
      "20it [01:53,  5.70s/it]\n",
      "INFO:train-01:====> Epoch: 1\n",
      "20it [01:25,  4.29s/it]\n",
      "INFO:train-01:Saving model and optimizer state at iteration 2 to experiments/train-01/logs_s2/G_233333333333.pth\n",
      "INFO:train-01:Saving model and optimizer state at iteration 2 to experiments/train-01/logs_s2/D_233333333333.pth\n",
      "INFO:train-01:saving ckpt train-01_e2:Success.\n",
      "INFO:train-01:====> Epoch: 2\n",
      "20it [01:25,  4.29s/it]\n",
      "INFO:train-01:====> Epoch: 3\n",
      "20it [01:25,  4.30s/it]\n",
      "INFO:train-01:Saving model and optimizer state at iteration 4 to experiments/train-01/logs_s2/G_233333333333.pth\n",
      "INFO:train-01:Saving model and optimizer state at iteration 4 to experiments/train-01/logs_s2/D_233333333333.pth\n",
      "INFO:train-01:saving ckpt train-01_e4:Success.\n",
      "INFO:train-01:====> Epoch: 4\n",
      "20it [01:26,  4.31s/it]\n",
      "INFO:train-01:====> Epoch: 5\n",
      "0it [00:00, ?it/s]INFO:train-01:Train Epoch: 6 [0%]\n",
      "INFO:train-01:[2.6703577041625977, 2.448498249053955, 12.5700101852417, 24.624256134033203, 0.40598931908607483, 1.1039278507232666, 100, 9.99250234335941e-05]\n",
      "20it [01:26,  4.33s/it]\n",
      "INFO:train-01:Saving model and optimizer state at iteration 6 to experiments/train-01/logs_s2/G_233333333333.pth\n",
      "INFO:train-01:Saving model and optimizer state at iteration 6 to experiments/train-01/logs_s2/D_233333333333.pth\n",
      "INFO:train-01:saving ckpt train-01_e6:Success.\n",
      "INFO:train-01:====> Epoch: 6\n",
      "20it [01:26,  4.32s/it]\n",
      "INFO:train-01:====> Epoch: 7\n",
      "20it [01:26,  4.31s/it]\n",
      "INFO:train-01:Saving model and optimizer state at iteration 8 to experiments/train-01/logs_s2/G_233333333333.pth\n",
      "INFO:train-01:Saving model and optimizer state at iteration 8 to experiments/train-01/logs_s2/D_233333333333.pth\n",
      "INFO:train-01:saving ckpt train-01_e8:Success.\n",
      "INFO:train-01:====> Epoch: 8\n",
      "20it [01:26,  4.35s/it]\n",
      "INFO:train-01:====> Epoch: 9\n",
      "20it [01:27,  4.36s/it]\n",
      "INFO:train-01:Saving model and optimizer state at iteration 10 to experiments/train-01/logs_s2/G_233333333333.pth\n",
      "INFO:train-01:Saving model and optimizer state at iteration 10 to experiments/train-01/logs_s2/D_233333333333.pth\n",
      "INFO:train-01:saving ckpt train-01_e10:Success.\n",
      "INFO:train-01:====> Epoch: 10\n",
      "SoVITS训练完成 {'__type__': 'update', 'visible': True} {'__type__': 'update', 'visible': False}\n"
     ]
    }
   ],
   "source": [
    "!python train_sovits.py"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9a2e6538-c8fb-47c1-93c7-e89906798b4f",
   "metadata": {},
   "source": [
    "### 3.3 GPT模型微调\n",
    "提供了gpt微调脚本 `train_gpt.py`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "c77029f4-2189-4e72-9054-5929b36a0737",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "GPT训练开始：\"/opt/conda/bin/python\" GPT_SoVITS/s1_train.py --config_file \"/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/TEMP/tmp_s1.yaml\"  {'__type__': 'update', 'visible': False} {'__type__': 'update', 'visible': True}\n",
      "\"/opt/conda/bin/python\" GPT_SoVITS/s1_train.py --config_file \"/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/TEMP/tmp_s1.yaml\" \n",
      "Seed set to 1234\n",
      "GPU available: True (cuda), used: True\n",
      "TPU available: False, using: 0 TPU cores\n",
      "IPU available: False, using: 0 IPUs\n",
      "HPU available: False, using: 0 HPUs\n",
      "<All keys matched successfully>\n",
      "ckpt_path: None\n",
      "[rank: 0] Seed set to 1234\n",
      "Initializing distributed: GLOBAL_RANK: 0, MEMBER: 1/1\n",
      "WARNING: Logging before InitGoogleLogging() is written to STDERR\n",
      "I0416 19:50:30.077071 22316 ProcessGroupNCCL.cpp:686] [Rank 0] ProcessGroupNCCL initialization options:NCCL_ASYNC_ERROR_HANDLING: 1, NCCL_DESYNC_DEBUG: 0, NCCL_ENABLE_TIMING: 0, NCCL_BLOCKING_WAIT: 0, TIMEOUT(ms): 1800000, USE_HIGH_PRIORITY_STREAM: 0, TORCH_DISTRIBUTED_DEBUG: OFF, NCCL_DEBUG: OFF, ID=250191216\n",
      "----------------------------------------------------------------------------------------------------\n",
      "distributed_backend=nccl\n",
      "All distributed processes registered. Starting with 1 processes\n",
      "----------------------------------------------------------------------------------------------------\n",
      "\n",
      "Missing logger folder: experiments/train-01/logs_s1/logs_s1\n",
      "I0416 19:50:30.367522 22316 ProcessGroupNCCL.cpp:1340] NCCL_DEBUG: N/A\n",
      "semantic_data_len: 58\n",
      "phoneme_data_len: 58\n",
      "                                      item_name                                     semantic_audio\n",
      "0   leijun_Vocals.wav_0000041600_0000226240.wav  520 105 53 290 271 54 602 540 492 679 441 688 ...\n",
      "1   leijun_Vocals.wav_0000236800_0000376640.wav  54 234 17 360 208 263 17 609 492 540 775 76 73...\n",
      "2   leijun_Vocals.wav_0000387200_0000522880.wav  520 271 72 140 570 578 275 6 36 286 625 1002 8...\n",
      "3   leijun_Vocals.wav_0000543680_0000664640.wav  54 72 72 505 540 5 17 505 505 824 775 75 728 6...\n",
      "4   leijun_Vocals.wav_0000677440_0000804160.wav  54 505 505 505 913 28 96 705 637 499 182 577 1...\n",
      "5   leijun_Vocals.wav_0000809280_0000990720.wav  54 505 570 441 414 361 667 518 33 180 48 655 4...\n",
      "6   leijun_Vocals.wav_0000992960_0001130240.wav  54 609 1005 679 90 603 493 488 657 585 851 516...\n",
      "7   leijun_Vocals.wav_0001130240_0001283520.wav  1005 679 539 388 119 265 730 654 452 599 490 5...\n",
      "8   leijun_Vocals.wav_0001295680_0001449920.wav  54 505 536 581 318 775 140 707 297 152 893 330...\n",
      "9   leijun_Vocals.wav_0001449920_0001555520.wav  54 670 160 190 679 773 38 659 648 898 702 0 79...\n",
      "10  leijun_Vocals.wav_0001596800_0001804480.wav  1005 910 833 584 589 691 683 976 421 822 189 1...\n",
      "11  leijun_Vocals.wav_0001819840_0002005120.wav  520 53 105 530 334 190 290 111 650 657 235 907...\n",
      "12  leijun_Vocals.wav_0002005120_0002172800.wav  214 910 609 190 197 866 1015 130 770 89 493 46...\n",
      "13  leijun_Vocals.wav_0002172800_0002322880.wav  1012 763 239 76 5 930 338 602 17 75 430 319 99...\n",
      "14  leijun_Vocals.wav_0002322880_0002489920.wav  208 160 789 469 452 703 467 742 558 86 164 924...\n",
      "15  leijun_Vocals.wav_0002500800_0002665920.wav  721 162 17 338 318 609 609 492 609 17 775 256 ...\n",
      "16  leijun_Vocals.wav_0002667520_0002837120.wav  54 505 540 937 441 479 124 100 352 827 644 800...\n",
      "17  leijun_Vocals.wav_0002841280_0003001920.wav  54 271 72 41 609 5 5 338 103 679 760 767 330 5...\n",
      "18  leijun_Vocals.wav_0003001920_0003136640.wav  721 242 294 233 584 33 467 58 806 777 261 410 ...\n",
      "19  leijun_Vocals.wav_0003136640_0003265280.wav  520 234 98 17 258 16 679 14 90 631 908 427 123...\n",
      "20  leijun_Vocals.wav_0003295680_0003420800.wav  54 505 505 162 17 565 593 318 721 190 714 885 ...\n",
      "21  leijun_Vocals.wav_0003426560_0003582080.wav  54 72 505 72 72 505 54 5 338 953 216 441 577 4...\n",
      "22  leijun_Vocals.wav_0003582080_0003784000.wav  23 411 829 859 700 934 93 9 710 142 381 233 25...\n",
      "23  leijun_Vocals.wav_0003784000_0003912640.wav  208 111 992 626 129 398 976 473 348 465 1018 4...\n",
      "24  leijun_Vocals.wav_0003925120_0004091840.wav  520 280 536 411 411 474 30 480 765 380 823 97 ...\n",
      "25  leijun_Vocals.wav_0004099520_0004285760.wav  520 105 105 105 53 749 642 570 162 14 208 754 ...\n",
      "26  leijun_Vocals.wav_0004285760_0004441600.wav  54 505 72 41 441 441 686 506 36 79 243 588 761...\n",
      "27  leijun_Vocals.wav_0004449600_0004668160.wav  54 505 54 809 809 17 642 162 505 140 862 501 3...\n",
      "28  leijun_Vocals.wav_0004668160_0004789440.wav  913 609 208 919 48 251 946 655 960 933 485 671...\n",
      "29  leijun_Vocals.wav_0004807040_0004946880.wav  54 72 72 41 913 103 679 760 377 444 826 680 28...\n",
      "30  leijun_Vocals.wav_0004958080_0005108160.wav  208 160 862 204 584 456 150 249 896 689 345 59...\n",
      "31  leijun_Vocals.wav_0005114240_0005307840.wav  54 17 5 32 142 396 783 406 321 667 1020 473 24...\n",
      "32  leijun_Vocals.wav_0005314560_0005422080.wav  1005 656 699 765 964 62 761 684 407 5 796 662 ...\n",
      "33  leijun_Vocals.wav_0005433920_0005627200.wav  520 486 53 574 566 90 609 609 208 160 656 873 ...\n",
      "34  leijun_Vocals.wav_0005627200_0005782720.wav  1012 295 514 889 40 1008 633 301 219 777 231 1...\n",
      "35  leijun_Vocals.wav_0005782720_0005920320.wav  520 234 875 17 17 17 609 570 190 248 219 980 7...\n",
      "36  leijun_Vocals.wav_0005920320_0006069120.wav  23 775 916 145 460 522 975 207 84 795 555 227 ...\n",
      "37  leijun_Vocals.wav_0006069120_0006247040.wav  214 490 5 103 242 190 1002 648 929 204 126 512...\n",
      "38  leijun_Vocals.wav_0006247040_0006403520.wav  54 505 505 208 602 570 775 167 106 131 460 853...\n",
      "39  leijun_Vocals.wav_0006403520_0006584960.wav  721 804 797 570 341 893 481 558 949 396 814 99...\n",
      "40  leijun_Vocals.wav_0006589120_0006723520.wav  520 53 271 271 54 208 318 5 837 441 810 15 618...\n",
      "41  leijun_Vocals.wav_0006723520_0006900160.wav  721 200 774 5 32 837 656 764 960 459 6 1 479 3...\n",
      "42  leijun_Vocals.wav_0006900160_0007060800.wav  913 32 686 33 391 674 889 498 62 93 490 167 71...\n",
      "43  leijun_Vocals.wav_0007068800_0007249920.wav  54 318 258 565 441 294 528 279 852 368 657 488...\n",
      "44  leijun_Vocals.wav_0007269440_0007401280.wav  520 271 271 105 105 72 967 937 171 298 364 38 ...\n",
      "45  leijun_Vocals.wav_0007403200_0007557440.wav  54 234 72 41 490 721 5 338 338 451 411 526 692...\n",
      "46  leijun_Vocals.wav_0007563200_0007689280.wav  54 72 41 8 5 338 679 171 703 645 1007 409 527 ...\n",
      "47  leijun_Vocals.wav_0007689280_0007850880.wav  54 72 72 505 146 72 875 505 492 714 679 556 58...\n",
      "48  leijun_Vocals.wav_0007865600_0008016640.wav  54 271 72 271 505 162 540 570 596 67 939 737 1...\n",
      "49  leijun_Vocals.wav_0008022400_0008152960.wav  208 679 132 34 493 488 479 288 222 880 488 519...\n",
      "50  leijun_Vocals.wav_0008152960_0008464320.wav  913 28 683 475 287 772 1008 735 832 343 161 19...\n",
      "51  leijun_Vocals.wav_0008464320_0008709440.wav  54 505 41 565 593 609 721 570 190 773 833 730 ...\n",
      "52  leijun_Vocals.wav_0008722240_0008871680.wav  520 53 53 105 280 536 271 875 574 28 644 850 3...\n",
      "53  leijun_Vocals.wav_0008882560_0009001280.wav  54 72 8 5 318 140 360 679 663 817 220 97 935 5...\n",
      "54  leijun_Vocals.wav_0009005440_0009147520.wav  54 623 656 609 149 721 5 382 382 65 679 539 47...\n",
      "55  leijun_Vocals.wav_0009147520_0009290240.wav  54 65 382 338 338 103 474 190 430 772 313 931 ...\n",
      "56  leijun_Vocals.wav_0009290240_0009481920.wav  54 570 714 199 665 747 594 391 546 459 544 835...\n",
      "57  leijun_Vocals.wav_0009481920_0009600320.wav  520 271 271 72 1005 5 103 14 341 692 929 442 2...\n",
      "dataset.__len__(): 116\n",
      "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n",
      "\n",
      "  | Name  | Type                 | Params\n",
      "-----------------------------------------------\n",
      "0 | model | Text2SemanticDecoder | 77.5 M\n",
      "-----------------------------------------------\n",
      "77.5 M    Trainable params\n",
      "0         Non-trainable params\n",
      "77.5 M    Total params\n",
      "309.975   Total estimated model params size (MB)\n",
      "/usr/local/lib/python3.8/site-packages/pytorch_lightning/loops/fit_loop.py:298: The number of training batches (39) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.\n",
      "Epoch 0:   0%|                                           | 0/39 [00:00<?, ?it/s]/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [184, 184], which does not match the required output shape [48, 184, 184]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:   3%| | 1/39 [00:12<07:43,  0.08it/s, v_num=0, total_loss_step=1.63e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [216, 216], which does not match the required output shape [48, 216, 216]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:   5%| | 2/39 [00:12<03:48,  0.16it/s, v_num=0, total_loss_step=2.11e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [142, 142], which does not match the required output shape [48, 142, 142]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:   8%| | 3/39 [00:12<02:29,  0.24it/s, v_num=0, total_loss_step=1.46e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [335, 335], which does not match the required output shape [48, 335, 335]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  10%| | 4/39 [00:12<01:50,  0.32it/s, v_num=0, total_loss_step=2.46e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [262, 262], which does not match the required output shape [48, 262, 262]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  13%|▏| 5/39 [00:12<01:27,  0.39it/s, v_num=0, total_loss_step=2.24e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [169, 169], which does not match the required output shape [48, 169, 169]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  15%|▏| 6/39 [00:12<01:11,  0.46it/s, v_num=0, total_loss_step=1.52e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [140, 140], which does not match the required output shape [48, 140, 140]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  18%|▏| 7/39 [00:13<00:59,  0.54it/s, v_num=0, total_loss_step=1.29e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [148, 148], which does not match the required output shape [48, 148, 148]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  21%|▏| 8/39 [00:13<00:51,  0.61it/s, v_num=0, total_loss_step=1.37e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [185, 185], which does not match the required output shape [48, 185, 185]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  23%|▏| 9/39 [00:13<00:44,  0.68it/s, v_num=0, total_loss_step=1.71e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [165, 165], which does not match the required output shape [48, 165, 165]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  26%|▎| 10/39 [00:13<00:38,  0.74it/s, v_num=0, total_loss_step=1.4e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [229, 229], which does not match the required output shape [48, 229, 229]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  28%|▎| 11/39 [00:13<00:34,  0.81it/s, v_num=0, total_loss_step=1.92e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [150, 150], which does not match the required output shape [48, 150, 150]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  31%|▎| 12/39 [00:13<00:30,  0.88it/s, v_num=0, total_loss_step=1.37e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [189, 189], which does not match the required output shape [48, 189, 189]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  33%|▎| 13/39 [00:13<00:27,  0.94it/s, v_num=0, total_loss_step=1.61e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [179, 179], which does not match the required output shape [48, 179, 179]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  36%|▎| 14/39 [00:13<00:24,  1.01it/s, v_num=0, total_loss_step=1.64e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [171, 171], which does not match the required output shape [48, 171, 171]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  41%|▍| 16/39 [00:14<00:20,  1.13it/s, v_num=0, total_loss_step=1.43e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [199, 199], which does not match the required output shape [48, 199, 199]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  44%|▍| 17/39 [00:14<00:18,  1.19it/s, v_num=0, total_loss_step=1.57e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [182, 182], which does not match the required output shape [48, 182, 182]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  46%|▍| 18/39 [00:14<00:16,  1.25it/s, v_num=0, total_loss_step=1.48e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [147, 147], which does not match the required output shape [48, 147, 147]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  49%|▍| 19/39 [00:14<00:15,  1.31it/s, v_num=0, total_loss_step=1.3e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [173, 173], which does not match the required output shape [48, 173, 173]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  51%|▌| 20/39 [00:14<00:13,  1.37it/s, v_num=0, total_loss_step=1.52e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [129, 129], which does not match the required output shape [48, 129, 129]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  54%|▌| 21/39 [00:14<00:12,  1.42it/s, v_num=0, total_loss_step=1.12e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [197, 197], which does not match the required output shape [48, 197, 197]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  59%|▌| 23/39 [00:15<00:10,  1.53it/s, v_num=0, total_loss_step=2.23e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [181, 181], which does not match the required output shape [48, 181, 181]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  62%|▌| 24/39 [00:15<00:09,  1.59it/s, v_num=0, total_loss_step=1.52e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [154, 154], which does not match the required output shape [48, 154, 154]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  69%|▋| 27/39 [00:15<00:06,  1.74it/s, v_num=0, total_loss_step=1.48e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [224, 224], which does not match the required output shape [48, 224, 224]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  72%|▋| 28/39 [00:15<00:06,  1.79it/s, v_num=0, total_loss_step=1.53e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [164, 164], which does not match the required output shape [48, 164, 164]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  74%|▋| 29/39 [00:15<00:05,  1.84it/s, v_num=0, total_loss_step=1.54e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [188, 188], which does not match the required output shape [48, 188, 188]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  79%|▊| 31/39 [00:15<00:04,  1.94it/s, v_num=0, total_loss_step=2.03e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [187, 187], which does not match the required output shape [48, 187, 187]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  82%|▊| 32/39 [00:16<00:03,  1.99it/s, v_num=0, total_loss_step=1.52e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [204, 204], which does not match the required output shape [48, 204, 204]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 0:  97%|▉| 38/39 [00:16<00:00,  2.26it/s, v_num=0, total_loss_step=1.78e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [144, 144], which does not match the required output shape [32, 144, 144]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:   3%| | 1/39 [00:00<00:05,  7.44it/s, v_num=0, total_loss_step=1.8e+3, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [163, 163], which does not match the required output shape [48, 163, 163]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  15%|▏| 6/39 [00:00<00:04,  8.18it/s, v_num=0, total_loss_step=1.62e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [206, 206], which does not match the required output shape [48, 206, 206]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  18%|▏| 7/39 [00:00<00:03,  8.24it/s, v_num=0, total_loss_step=1.72e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [149, 149], which does not match the required output shape [48, 149, 149]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  36%|▎| 14/39 [00:01<00:03,  8.01it/s, v_num=0, total_loss_step=1.44e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [151, 151], which does not match the required output shape [48, 151, 151]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  44%|▍| 17/39 [00:02<00:02,  8.06it/s, v_num=0, total_loss_step=1.21e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [153, 153], which does not match the required output shape [48, 153, 153]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  54%|▌| 21/39 [00:02<00:02,  8.11it/s, v_num=0, total_loss_step=1.56e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [131, 131], which does not match the required output shape [48, 131, 131]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  59%|▌| 23/39 [00:02<00:01,  8.19it/s, v_num=0, total_loss_step=1.25e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [186, 186], which does not match the required output shape [48, 186, 186]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  64%|▋| 25/39 [00:03<00:01,  8.12it/s, v_num=0, total_loss_step=1.42e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [207, 207], which does not match the required output shape [48, 207, 207]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  67%|▋| 26/39 [00:03<00:01,  8.16it/s, v_num=0, total_loss_step=1.36e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [174, 174], which does not match the required output shape [48, 174, 174]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  72%|▋| 28/39 [00:03<00:01,  8.21it/s, v_num=0, total_loss_step=1.35e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [159, 159], which does not match the required output shape [48, 159, 159]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  82%|▊| 32/39 [00:03<00:00,  8.20it/s, v_num=0, total_loss_step=1.32e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [141, 141], which does not match the required output shape [48, 141, 141]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  87%|▊| 34/39 [00:04<00:00,  8.18it/s, v_num=0, total_loss_step=1.43e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [193, 193], which does not match the required output shape [48, 193, 193]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 1:  97%|▉| 38/39 [00:04<00:00,  8.15it/s, v_num=0, total_loss_step=1.84e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [177, 177], which does not match the required output shape [32, 177, 177]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 2:  13%|▏| 5/39 [00:00<00:04,  7.57it/s, v_num=0, total_loss_step=1.29e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [161, 161], which does not match the required output shape [48, 161, 161]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 2:  23%|▏| 9/39 [00:01<00:03,  7.60it/s, v_num=0, total_loss_step=1.76e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [177, 177], which does not match the required output shape [48, 177, 177]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 2:  31%|▎| 12/39 [00:01<00:03,  7.81it/s, v_num=0, total_loss_step=1.36e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [152, 152], which does not match the required output shape [48, 152, 152]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 2:  33%|▎| 13/39 [00:01<00:03,  7.76it/s, v_num=0, total_loss_step=1.11e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [201, 201], which does not match the required output shape [48, 201, 201]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 2:  36%|▎| 14/39 [00:01<00:03,  7.81it/s, v_num=0, total_loss_step=1.37e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [168, 168], which does not match the required output shape [48, 168, 168]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 2:  59%|▌| 23/39 [00:02<00:01,  8.02it/s, v_num=0, total_loss_step=1.14e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [180, 180], which does not match the required output shape [48, 180, 180]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 2:  67%|▋| 26/39 [00:03<00:01,  8.03it/s, v_num=0, total_loss_step=1.5e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [160, 160], which does not match the required output shape [48, 160, 160]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 2:  87%|▊| 34/39 [00:04<00:00,  8.05it/s, v_num=0, total_loss_step=1.24e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [196, 196], which does not match the required output shape [48, 196, 196]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 2:  97%|▉| 38/39 [00:04<00:00,  8.09it/s, v_num=0, total_loss_step=1.33e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [191, 191], which does not match the required output shape [32, 191, 191]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 3:  10%| | 4/39 [00:00<00:04,  8.64it/s, v_num=0, total_loss_step=1.15e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [191, 191], which does not match the required output shape [48, 191, 191]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 3:  23%|▏| 9/39 [00:01<00:03,  8.31it/s, v_num=0, total_loss_step=1.03e+3,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [162, 162], which does not match the required output shape [48, 162, 162]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 3:  26%|▎| 10/39 [00:01<00:03,  8.44it/s, v_num=0, total_loss_step=949.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [205, 205], which does not match the required output shape [48, 205, 205]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 3:  28%|▎| 11/39 [00:01<00:03,  8.48it/s, v_num=0, total_loss_step=1.28e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [156, 156], which does not match the required output shape [48, 156, 156]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 3:  38%|▍| 15/39 [00:01<00:02,  8.54it/s, v_num=0, total_loss_step=1.19e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [175, 175], which does not match the required output shape [48, 175, 175]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 3:  54%|▌| 21/39 [00:02<00:02,  8.11it/s, v_num=0, total_loss_step=990.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [170, 170], which does not match the required output shape [48, 170, 170]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 3:  62%|▌| 24/39 [00:02<00:01,  8.25it/s, v_num=0, total_loss_step=1.14e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [143, 143], which does not match the required output shape [48, 143, 143]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 3:  79%|▊| 31/39 [00:03<00:00,  8.29it/s, v_num=0, total_loss_step=1.27e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [157, 157], which does not match the required output shape [48, 157, 157]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 3:  95%|▉| 37/39 [00:04<00:00,  8.27it/s, v_num=0, total_loss_step=1.05e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [202, 202], which does not match the required output shape [48, 202, 202]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 3:  97%|▉| 38/39 [00:04<00:00,  8.29it/s, v_num=0, total_loss_step=985.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [171, 171], which does not match the required output shape [32, 171, 171]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 4:  28%|▎| 11/39 [00:01<00:03,  8.33it/s, v_num=0, total_loss_step=881.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [211, 211], which does not match the required output shape [48, 211, 211]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 4:  54%|▌| 21/39 [00:02<00:02,  8.11it/s, v_num=0, total_loss_step=915.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [194, 194], which does not match the required output shape [48, 194, 194]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 4:  64%|▋| 25/39 [00:03<00:01,  8.01it/s, v_num=0, total_loss_step=1.11e+3/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [208, 208], which does not match the required output shape [48, 208, 208]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 4:  72%|▋| 28/39 [00:03<00:01,  8.11it/s, v_num=0, total_loss_step=928.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [176, 176], which does not match the required output shape [48, 176, 176]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 4:  74%|▋| 29/39 [00:03<00:01,  8.06it/s, v_num=0, total_loss_step=836.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [158, 158], which does not match the required output shape [48, 158, 158]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 4:  85%|▊| 33/39 [00:04<00:00,  8.10it/s, v_num=0, total_loss_step=831.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [145, 145], which does not match the required output shape [48, 145, 145]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 4:  90%|▉| 35/39 [00:04<00:00,  8.16it/s, v_num=0, total_loss_step=735.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [167, 167], which does not match the required output shape [48, 167, 167]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 5:  23%|▏| 9/39 [00:01<00:03,  7.90it/s, v_num=0, total_loss_step=789.0, l/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [144, 144], which does not match the required output shape [48, 144, 144]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 5:  97%|▉| 38/39 [00:04<00:00,  8.17it/s, v_num=0, total_loss_step=711.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [164, 164], which does not match the required output shape [32, 164, 164]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 6:   8%| | 3/39 [00:00<00:04,  7.52it/s, v_num=0, total_loss_step=749.0, l/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [155, 155], which does not match the required output shape [48, 155, 155]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 6:  44%|▍| 17/39 [00:02<00:02,  8.02it/s, v_num=0, total_loss_step=590.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [190, 190], which does not match the required output shape [48, 190, 190]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 6:  51%|▌| 20/39 [00:02<00:02,  8.16it/s, v_num=0, total_loss_step=486.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [195, 195], which does not match the required output shape [48, 195, 195]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 6:  90%|▉| 35/39 [00:04<00:00,  8.12it/s, v_num=0, total_loss_step=542.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [172, 172], which does not match the required output shape [48, 172, 172]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 6:  97%|▉| 38/39 [00:04<00:00,  8.13it/s, v_num=0, total_loss_step=423.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [185, 185], which does not match the required output shape [32, 185, 185]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 7:  97%|▉| 38/39 [00:04<00:00,  8.05it/s, v_num=0, total_loss_step=383.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [143, 143], which does not match the required output shape [32, 143, 143]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 8:   0%| | 0/39 [00:00<?, ?it/s, v_num=0, total_loss_step=178.0, lr_step=0/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [203, 203], which does not match the required output shape [48, 203, 203]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 8:   3%| | 1/39 [00:00<00:05,  7.33it/s, v_num=0, total_loss_step=408.0, l/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [134, 134], which does not match the required output shape [48, 134, 134]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 8:  74%|▋| 29/39 [00:03<00:01,  7.99it/s, v_num=0, total_loss_step=258.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [166, 166], which does not match the required output shape [48, 166, 166]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 8:  97%|▉| 38/39 [00:04<00:00,  7.99it/s, v_num=0, total_loss_step=356.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [160, 160], which does not match the required output shape [32, 160, 160]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 9:  21%|▏| 8/39 [00:00<00:03,  8.23it/s, v_num=0, total_loss_step=261.0, l/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [237, 237], which does not match the required output shape [48, 237, 237]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 9:  46%|▍| 18/39 [00:02<00:02,  8.09it/s, v_num=0, total_loss_step=241.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [192, 192], which does not match the required output shape [48, 192, 192]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 9:  54%|▌| 21/39 [00:02<00:02,  8.05it/s, v_num=0, total_loss_step=246.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [122, 122], which does not match the required output shape [48, 122, 122]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 9:  97%|▉| 38/39 [00:04<00:00,  8.18it/s, v_num=0, total_loss_step=198.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [206, 206], which does not match the required output shape [32, 206, 206]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 10:  97%|▉| 38/39 [00:04<00:00,  8.21it/s, v_num=0, total_loss_step=183.0,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [229, 229], which does not match the required output shape [32, 229, 229]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 11:   0%| | 0/39 [00:00<?, ?it/s, v_num=0, total_loss_step=138.0, lr_step=/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [178, 178], which does not match the required output shape [48, 178, 178]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 11:  21%|▏| 8/39 [00:00<00:03,  8.46it/s, v_num=0, total_loss_step=148.0, /public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [200, 200], which does not match the required output shape [48, 200, 200]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 11:  33%|▎| 13/39 [00:01<00:03,  8.19it/s, v_num=0, total_loss_step=135.0,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [138, 138], which does not match the required output shape [48, 138, 138]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 11:  97%|▉| 38/39 [00:04<00:00,  8.27it/s, v_num=0, total_loss_step=126.0,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [158, 158], which does not match the required output shape [32, 158, 158]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 12:  31%|▎| 12/39 [00:01<00:03,  8.21it/s, v_num=0, total_loss_step=115.0,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [217, 217], which does not match the required output shape [48, 217, 217]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 13:  97%|▉| 38/39 [00:04<00:00,  8.28it/s, v_num=0, total_loss_step=82.10,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [220, 220], which does not match the required output shape [32, 220, 220]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 14:  97%|▉| 38/39 [00:04<00:00,  8.24it/s, v_num=0, total_loss_step=68.50,/public/home/jsyadmin/AI_model/GPT_SoVits/GPT-SoVITS/GPT_SoVITS/AR/models/t2s_model.py:230: UserWarning: An output with one or more elements was resized since it had shape [189, 189], which does not match the required output shape [32, 189, 189]. This behavior is deprecated, and in a future PyTorch release outputs will not be resized unless they have zero elements. You can explicitly reuse an out tensor t by resizing it, inplace, to zero elements with t.resize_(0). (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/Resize.cpp:35.)\n",
      "  xy_attn_mask = xy_attn_mask.logical_or(_xy_padding_mask)\n",
      "Epoch 14: 100%|█| 39/39 [00:04<00:00,  8.26it/s, v_num=0, total_loss_step=41.30,`Trainer.fit` stopped: `max_epochs=15` reached.\n",
      "Epoch 14: 100%|█| 39/39 [00:04<00:00,  8.26it/s, v_num=0, total_loss_step=41.30,\n",
      "I0416 19:52:07.644541 22316 ProcessGroupNCCL.cpp:874] [Rank 0] Destroyed 1communicators on CUDA device 0\n",
      "GPT训练完成 {'__type__': 'update', 'visible': True} {'__type__': 'update', 'visible': False}\n"
     ]
    }
   ],
   "source": [
    "!python train_gpt.py"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7c52c1fc-a590-41b8-ae5b-d0c1f9e4bcbe",
   "metadata": {},
   "source": [
    "## 4. 开始推理"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6735c509-2ab2-43f2-9801-b8edd1bef74d",
   "metadata": {},
   "source": [
    "提供了基于微调的推理脚本 `infer.py`\n",
    "\n",
    "使用方式\n",
    "\n",
    "-input_text            在这里输入要生成的文本\n",
    "\n",
    "--output_path           输出音频文件路径\n",
    "                \n",
    "--ref_wav_path          提示音频的路径\n",
    "                \n",
    "--prompt_text           提示文本的路径 \n",
    "            \n",
    "--prompt_language       提示音频的语言 \n",
    "                \n",
    "--text_language         输入文本的语言 \n",
    "\n",
    "--gpt_path              gpt模型文件名\n",
    "\n",
    "--sovits_path           sovits模型文件名 "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5cd3f200-dd64-4b64-ba83-ee5e27e4e068",
   "metadata": {},
   "source": [
    "\"中文\": \"all_zh\",     # 全部按中文识别\n",
    "\n",
    "\"英文\": \"en\",         # 全部按英文识别#######不变\n",
    "\n",
    "\"日文\": \"all_ja\",     # 全部按日文识别\n",
    "\n",
    "\"中英混合\": \"zh\",     # 按中英混合识别####不变\n",
    "\n",
    "\"日英混合\": \"ja\",     # 按日英混合识别####不变\n",
    "\n",
    "\"多语种混合\": \"auto\", # 多语种启动切分识别语种\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "2f90e2de-1c0b-4fec-8760-17d16ea96c2a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TTS inference process is opened\n",
      "\"/opt/conda/bin/python\" GPT_SoVITS/inference_cli.py\n",
      "loading tokenizer...\n",
      "loading bert...\n",
      "/usr/local/lib/python3.8/site-packages/torch/_utils.py:831: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n",
      "  return self.fget.__get__(instance, owner)()\n",
      "loading ssl_model...\n",
      "Some weights of the model checkpoint at GPT_SoVITS/pretrained_models/chinese-hubert-base were not used when initializing HubertModel: ['encoder.pos_conv_embed.conv.weight_g', 'encoder.pos_conv_embed.conv.weight_v']\n",
      "- This IS expected if you are initializing HubertModel from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n",
      "- This IS NOT expected if you are initializing HubertModel from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n",
      "Some weights of HubertModel were not initialized from the model checkpoint at GPT_SoVITS/pretrained_models/chinese-hubert-base and are newly initialized: ['encoder.pos_conv_embed.conv.parametrizations.weight.original0', 'encoder.pos_conv_embed.conv.parametrizations.weight.original1']\n",
      "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n",
      "change_sovits_weights...\n",
      "/usr/local/lib/python3.8/site-packages/torch/nn/utils/weight_norm.py:30: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.\n",
      "  warnings.warn(\"torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.\")\n",
      "<All keys matched successfully>\n",
      "change_gpt_weights...\n",
      "Number of parameter: 77.49M\n",
      "all weights load\n",
      "开始推理：\n",
      "Slice by every punct\n",
      "prompt_language: all_zh  text_language: all_zh\n",
      "实际输入的参考文本: 一九八七年，我呢考上了武汉大学的计算机系。\n",
      "实际输入的目标文本: 。大家好，我是雷军！\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "ld.lld: \u001b[0;35mwarning: \u001b[0mcannot find entry symbol mit-obj; not setting start address\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "实际输入的目标文本(切句后): 。\n",
      "大家好，\n",
      "我是雷军！\n",
      "\n",
      "Building prefix dict from the default dictionary ...\n",
      "DEBUG:jieba_fast:Building prefix dict from the default dictionary ...\n",
      "Loading model from cache /tmp/jieba.cache\n",
      "DEBUG:jieba_fast:Loading model from cache /tmp/jieba.cache\n",
      "Loading model cost 1.286 seconds.\n",
      "DEBUG:jieba_fast:Loading model cost 1.286 seconds.\n",
      "Prefix dict has been built succesfully.\n",
      "DEBUG:jieba_fast:Prefix dict has been built succesfully.\n",
      "实际输入的目标文本(每句): 。大家好，\n",
      "前端处理后的文本(每句): .大家好,\n",
      "  1%|▌                                        | 22/1500 [00:00<00:37, 39.74it/s]T2S Decoding EOS [159 -> 186]\n",
      "  2%|▋                                        | 26/1500 [00:00<00:39, 36.87it/s]\n",
      "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n",
      "To disable this warning, you can either:\n",
      "\t- Avoid using `tokenizers` before the fork if possible\n",
      "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n",
      "/usr/local/lib/python3.8/site-packages/torch/functional.py:650: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error.\n",
      "Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at /data/jenkins_workspace/workspace/pytorch_23.10_torch2.x/aten/src/ATen/native/SpectralOps.cpp:868.)\n",
      "  return _VF.stft(input, n_fft, hop_length, win_length, window,  # type: ignore[attr-defined]\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "ld.lld: \u001b[0;35mwarning: \u001b[0mcannot find entry symbol mit-obj; not setting start address\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Error [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file. Performance may degree.\n",
      "MIOpen(HIP): Error [Exec] PRAGMA journal_mode=WAL; failed.\n",
      "MIOpen(HIP): Warning [LoadProgram] sqlite_db.cpp:224: 0000000e: Internal error while accessing SQLite database: unable to open database file\n",
      "[array([-0.00046236, -0.00039717, -0.00029959, ...,  0.00038285,\n",
      "        0.00045534,  0.00031227], dtype=float32), array([0., 0., 0., ..., 0., 0., 0.], dtype=float32)]\n",
      "实际输入的目标文本(每句): 我是雷军！\n",
      "前端处理后的文本(每句): 我是雷军!\n",
      "  1%|▍                                        | 14/1500 [00:00<00:36, 40.62it/s]T2S Decoding EOS [159 -> 176]\n",
      "  1%|▍                                        | 16/1500 [00:00<00:38, 38.21it/s]\n",
      "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n",
      "To disable this warning, you can either:\n",
      "\t- Avoid using `tokenizers` before the fork if possible\n",
      "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n",
      "[array([-0.00046236, -0.00039717, -0.00029959, ...,  0.00038285,\n",
      "        0.00045534,  0.00031227], dtype=float32), array([0., 0., 0., ..., 0., 0., 0.], dtype=float32), array([-0.00045455, -0.00038071, -0.00027995, ...,  0.02648516,\n",
      "        0.02325237,  0.02046525], dtype=float32), array([0., 0., 0., ..., 0., 0., 0.], dtype=float32)]\n",
      "14.321\t3.444\t0.423\t0.740\n",
      "推理已完成！音频文件已保存到data/output_leijun.wav\n",
      "TTS推理进程结束\n"
     ]
    }
   ],
   "source": [
    "!python infer.py \\\n",
    "        --input_text=\"大家好，我是雷军！\" \\\n",
    "        --text_language=\"all_zh\" \\\n",
    "        --output_path=\"data/output_leijun.wav\"\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
